package com.sanploy.manage.service;

import com.sanploy.common.domain.Admin;
import com.sanploy.common.domain.dto.AdminDto;
import com.sanploy.common.domain.dto.Pages;
import com.sanploy.common.domain.vo.Page;
import com.sanploy.common.vo.BaseException;

/**
 * Created by zhu yingzhi on 2017/10/16.
 * @author yingzhi zhu
 * 管理员 逻辑处理接口
 */
public interface AdminService
{
    /**
     * 添加管理员
     * @param admin 管理员类
     * @return 影响行数
     * @throws BaseException 添加失败 自定义异常
     */
    int addAdmin(AdminDto admin) throws BaseException;

    /**
     * 通过Id查找管理员
     * @param id 管理员id
     * @return 管理员信息
     * @throws BaseException 查找失败 自定义异常
     */
    Admin findAdminById(Long id) throws BaseException;

    /**
     * 分页查找管理员
     * @param pages 分页要求
     * @return 分页List信息
     * @throws BaseException 查找失败 自定义异常
     */
    Page<Admin> findAdmin(Pages pages) throws BaseException;

    /**
     * 编辑管理员
     * @param adminDto 管理员数据传输类
     * @return 影响行数
     * @throws BaseException 查找失败 自定义异常
     */
    int editAdmin(AdminDto adminDto) throws BaseException;

    /**
     * 删除管理员
     * @param id 管理员id
     * @return 影响行数
     * @throws BaseException  删除失败 自定义异常
     */
    int deleteAdmin(Long id) throws BaseException;

}
